Skip to content

数据恢复

在你使用 Git 的时候,你可能会意外丢失一次提交。 通常这是因为你强制删除了正在工作的分支,但是最后却发现你还需要这个分支, 亦或者硬重置了一个分支,放弃了你想要的提交。

git reset --hard <SHA-1> 硬重置 master 指向 sha-1 的节点

我们可以通过 git reflog 来查找丢失的节点:

当你正在工作时, Git 会默默地记录每一次你改变 HEAD 时它的值。 每一次你提交或改变分支,引用日志都会被更新

接着,我们可以创建一个新分支指向丢失的提交来恢复它:

git branch recover-branch <SHA-1>

假设你丢失的提交因为某些原因不在引用日志中,可以通过 git fsck来找回:

使用 git fsck 实用工具,将会检查数据库的完整性。 如果使用一个 --full 选项运行它,它会向你显示出所有没有被其他对象指向的对象

2025( )
今日 8.33%
本周 42.86%
本月 48.39%
本年 4.11%
Powered by Snowinlu | Copyright © 2024- | MIT License